/**
 * 作者 : 黄赟博 
 * 时间 : 2016-01-15 11:05:49
 * 描述 : 扫描条码控件
 */
(function() {
	var scan = null;
	var flash = false;
	// 监听plusready事件
	document.addEventListener("plusready", function() {
		startRecognize();
	}, false);
	/*
	 * @description   调用摄像头进行条码识别
	 */
	function startRecognize() {
		//创建Barcode对象，在指定位置调用摄像头进行条码扫描
		scan = new plus.barcode.Barcode('bcid');
		//条码识别成功事件
		scan.onmarked = onmarked;
		//条码识别失败事件
		scan.onerror = onerror;
		/*
		 * @description 开始条码识别
		 * @param  conserve: (Boolean 类型 )是否保存成功扫描到的条码数据时的截图；
		 *         filename: (String 类型 )保存成功扫描到的条码数据时的图片路径。
		 */
		scan.start({
			conserve: true,
			filename: "_doc/barcode/"
		});
	}
	/*
	 * @description 	条码识别成功事件	
	 * @param           type:条码类型 result：条码结果 file：图片路径
	 */
	function onmarked(type, result, file) {
		//条码类型
		switch (type) {
			case plus.barcode.QR:
				type = "QR";
				break;
			case plus.barcode.EAN13:
				type = "EAN13";
				break;
			case plus.barcode.EAN8:
				type = "EAN8";
				break;
			default:
				type = "其它";
				break;
		}
		result = result.replace(/\n/g, '');
		console.log("扫描成功信息：" + type + ' ' + result + ' ' + file);
		PageUtil.createWin('demo_barcode_info.html', {
			url: result
		});
	}
	/*
	 * @description 	条码识别失败事件	
	 */
	function onerror() {
		plus.nativeUI.alert('未找到二维码/条码');
	}
	/*
	 * @description 	 关闭当前页
	 */
	Zepto('#quxiao').on('tap', function() {
		plus.webview.currentWebview().close();
	});
	/*
	 * @description 	从相册选择点击事件
	 */
	Zepto('#gallery').on('tap', function() {
		selectFromGallery();
	});
	/*
	 * @description 	从相册选择条码扫描返回数据
	 */
	function selectFromGallery() {
		//获取手机相册
		plus.gallery.pick(function(path) {
			//扫描图片
			plus.barcode.scan(path, onmarked, onerror);
		}, function(err) {
			console.log("Failed: " + err.message);
		});
	}
	/*
	 * @description    闪光灯开闭
	 */
	Zepto('#flash').on('tap', function() {
		flash = !flash;
		scan.setFlash(flash);
		if (flash) {
			Zepto('#flash').css('color', '#007AFF');
		} else {
			Zepto('#flash').css('color', 'white');
		}
	})
})();